# -*- coding: utf-8 -*-
# @Time : 2022/7/2 20:13
# @Author : cheney
# @File : simulate-v3.py
# @Software: PyCharm
# @Site: www.cheney.cc

import socket
from pi.config import *
import threading
import json
import time


def service_thread_recv(_sock: socket.socket):
    """
    收到新的连接，先判断该连接的类型，然后交给对应的函数处理
    :param _sock: 收发报文对应的socket
    :return:
    """
    while True:
        recv = _sock.recv(1024)
        if recv == b"":
            print("客户端 断开")
            return
        else:
            print("data", recv.decode())


if __name__ == '__main__':
    s_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建套接字
    s_sock.bind((addr_BaseStation_2, port_BaseStation_2))
    s_sock.listen(5)  # socket的”排队个数“为5 ！！！不是最大连接数

    while True:
        print("listening: ", s_sock)
        new_sock, adress = s_sock.accept()  # 这条命令是阻塞的
        threading.Thread(target=service_thread_recv, args=(new_sock,)).start()  # 收到新的请求就直接投入新的线程并且开始运行
        # threading.Thread(target=service_thread_send, args=(new_sock,)).start()  # 收到新的请求就直接投入新的线程并且开始运行
